The ObjectCursor by Udo Egner-Walter is a script collection for the screenreader JAWS by Freedom Scientific. The collection contains scripts to provide the screenreader JAWS with an additional type of cursor. In some ways, the ObjecctCursor is similar to the TouchCursor already built into JAWS for navigating between the controls of an application, but adds new features.
This is no official script collection from Freedom Scientific the developers of JAWS. All scripts included have been extensively tested. However, some scripts may not work properly. Therefore, you use this script collection at your own risk, and the author assumes no liability for the scripts in this collection, nor any liability for damages resulting from the use of the scripts or misapplication of the script collection.
For more information on how to use this script collection, please refer to the Copyright section.
Udo Egner-Walter, December 2020
The following requirements are necessary to use this script collection:
This script collection by Udo Egner-Walter is licensed under the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
This is a human-readable summary of (and not a substitute for) the license.
You are free to:
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
I would like to personally thank the following testers (alphabetically):
Thanks for your feedback and suggestions.
Furthermore I want to thank all the testers I forgot to mention or who didn’t want to be mentioned here. Also many thanks to you for testing.
I would also like to thank René Ludwig who made it possible that the script collection can be downloaded from the German JAWS site.
And finally, I would like to thank the team at DeepL for providing the free translation service on the web at DeepL, which was a great help with the translation into English.
Thanks a lot to all of you!
2020–12
First publication. Included features:
This script collection includes the following files:
The installation includes the following steps, which are explained in more detail below:
a) Copy to the user script directory
b) Use myExtensions script file
c) Add keys for the scripts
d) Compiling the source code
The first step is to copy the above files into the user script directory.
Proceed as follows:
Note: If you cannot access your user script directory as described above, you can proceed alternatively:
You are now in your user script directory, into which you can copy the above files.
**Attention! ** Only overwrite files in the target directory if you want to replace an older script version with a newer script version. Make a backup of the files before.
The MyExtensions.jss file is a user script file provided by the JAWS developers for your own scripts. If a file named MyExtensions.jss already exists in your user script directory, open it with the Windows editor and add the following entry at the end
use "ewObjectCursor.jsb"
If the file MyExtensions.jss does not exist yet, please name the file:
ewObjectCursor (myExtensions).jss
to the file:
MyExtensions.jss
To make the script keys available, they must be integrated into your own keyboard mapping files.
If there is no file named Default.jkm in your user script file, name the file:
ewObjectCursor.jkm
to the file:
default.jkm
Then continue with the next step d) Compiling the source code.
If a file Default.jkm already exists in your user script directory, please open the file ewObjectCursor.jkm in a text editor. You can rename the extension JKM to TXT for easier editing.
In order for JAWS to use the scripts, the code must first be compiled, that is, translated into a format used for JAWS. Because this translation varies from one version of JAWS to another, you must do this manually for each version of JAWS. The steps are as follows:
key | description |
---|---|
Alt+SHIFT+Plus (in numeric keypad) | Activates the ObjectCursor |
Escape | Exits the ObjectCursor |
The JAWS TouchCursor does not automatically change the system focus when used to allow the user to explore the screen and return to the original system focus location when the TouchCursor is exited. Since in some cases it makes sense to explore the screen without changing the system focus, and in other cases it would make sense to move the system focus along with the ObjectCursor, the ObjectCursor provides both possibilities.
key | description |
---|---|
Right Arrow | Moves the ObjectCursor one control further without changing the system focus |
Left Arrow | Moves the ObjectCursor one control back without changing the system focus |
Home | Moves the ObjectCursor to the first object of the application without changing the system focus |
End | Moves the ObjectCursor to the last object of the application without changing the system focus |
key | description |
---|---|
Tab | Moves the ObjectCursor together with the system focus to the next control. If the system focus cannot be moved to the new object, the system focus remains with the previously used object. |
Shift+Tab | Moves the ObjectCursor together with the system focus back to the previous control. If the system focus cannot be moved to the new object, the system focus remains with the previously used object. |
Ctrl+Home | Moves the ObjectCursor to the first object of the application. If the first object can be focused, the system focus is set there. |
Ctrl+End | Moves the ObjectCursor to the last object of the application. If the last object can be focused, the system focus is set there. |
An application consists of various controls like buttons, input fields, menus and so on. These control element types can be reached quickly in the ObjectCursor. The following keys are available:
key | description |
---|---|
Up Arrow | Jumps to the previous control, which is currently set by pressing Page Up or Page Down. |
Down Arrow | Skips to the next control, which is currently set by pressing Page Up/Page Down. |
Page Up | Changes the control type up so that you can jump to it with arrow up or arrow down. Only control types that are actually present in the application are displayed for selection. |
Page Down | Changes the control type down so that you can jump to it with arrow. up or arrow down Only control types that are actually present in the application are displayed for selection. |
Ctrl+Right Arrow | Jumps to the next control of the same type. For example, if you are currently standing on a button, the command causes the next button to be searched for. |
Ctrl+Left Arrow | Jumps to the previous control of the same type. For example, if you are currently standing on a button, the command will search for the previous button. |
Ctrl+Shift+Right Arrow | Jumps to the next control of a different type. For example, if you are on the first tab and want to jump to the first control after all subsequent tabs, press this key combination. |
Ctrl+Shift+Left Arrow | Jumps to the previous control of a different type. For example, if you are on the last tab and want to jump to the first control before the tabs, press this key combination. |
key | description |
---|---|
Spacebar or Insert+Plus (in the numeric keypad) | If the object currently selected in the ObjectCursor can get the system focus, pressing this key causes the system focus to be set at this position. The ObjectCursor is not terminated. |
Enter | The current object is executed. If this is not possible, a mouse click on the current object is performed. The ObjectCursor is then terminated. |
Shift+Enter | The current object is executed. If this is not possible, a mouse click on the current object is performed. In contrast to the previously mentioned key combination (Enter), the ObjectCursor is not terminated. Instead, the objects of the application are loaded again. This makes it possible, that you can activate a tab in the ribbon bar and have the new controls of these tabs available in the ObjectCursor without having to leave and restart it. |
Alt+Enter | A mouse click on the current object is performed and the ObjectCursor is closed afterwards. |
Ctrl+Enter | This command simulates the so-called MouseOver effect. Here the mouse is dragged to the currently selected object and moved briefly. This has the effect of activating mouse-over menus in the Internet, for example. The ObjectCursor is not closed and the objects of the application are loaded again. |
Ctrl+Shift+Enter | If you use the previously mentioned key combination to open a menu, it is necessary that the mouse is no longer placed on the current object. For this reason, this key combination resets the mouse position and moves the mouse to the upper left corner of the screen. |
Since different applications can produce different needs, the following list shows you how to customize search results and save settings for specific applications:
key | description |
---|---|
Ctrl+A | Saves the current ObjectCursor settings for the application in the foreground. These settings are loaded automatically the next time the ObjectCursor is started for this application. |
Ctrl+Backspace | If you have saved the settings for the current application with the previously mentioned key combination, this key combination deletes the associated settings file. |
F1 | Changes the filter for the listed objects of the ObjectCursor. If you press the key once, JAWS speaks of currently selected filter. If you press the key twice in quick succession, the next filter setting becomes active. Filters for objects are: |
key | Description |
---|---|
F2 | This setting determines whether the ObjectCursor should stop at the end or the beginning of the list. If the setting is not activated, navigation will stop at the end or the beginning of the list and a beep will sound. If this setting is activated, the ObjectCursor at the end will start at the beginning of the list when navigating further with the right arrow, or at the beginning of the list when navigating further with the left arrow. |
F3 | Setting for search with quick keys. While the ObjectCursor is active, you can quickly move through the list of all objects by tapping an alphanumeric key. You have the following two options: |
key | Description |
---|---|
Alt+F7 | Set the temporary monitoring spot. The ObjectCursor will not be closed. A monitoring spot could be for example a time display in a media player that changes constantly. |
Alt+SHIFT+F7 | Press these keys outside the ObjectCursor if you have defined a temporary monitoring spot with the previously mentioned key combination. When you press the key, the name of the object is spoken by JAWS (for example, a changing display). The temporary spot remains active until you close JAWS or the program you are using. |
Alt+spacebar | Marks the current object in the ObjectCursor as a spot and adds it to the list of spots |
Alt+Shift+Ctrl+Plus (in the numeric keypad) or Ctrl+Shift+Plus (in the numeric keypad) | This key is only available outside the ObjectCursor and opens a dialog with the objects previously marked as Spot. In the dialog itself, you have the following options: |
When you have decided on a selection, press Enter to confirm or Escape to cancel the process. After confirming the selection with the Enter key, a “non-executable” pseudo shortcut is created. Then the Keyboard Manager opens and JAWS speaks the name of the newly created script. Locate the named script in the keyboard manager and change the “pseudo” shortcut by opening the context menu and assigning a new shortcut.
key | description |
---|---|
Insert+Arrow up | Speaks the object currently selected in the ObjectCursor. |
Insert+Down Arrow | Speaks all objects of the current window in sequence |
Ctrl+Down Arrow | Speaks all text controls of the current window like static text, document window, input fields, etc. |
Alt+N | Speaks the name of the currently selected object |
Alt+F | Speaks the description of the currently selected object |
Alt+H | Speaks the help text of the currently selected object |
The key combinations listed below are difficult to divide into categories and are therefore listed here:
key | description |
---|---|
Ctrl+N | Copies the names of all controls of the current control type to the clipboard. If you are on a list entry, all list entries are copied to the clipboard, so to speak. |
Ctrl+S | Copies all shortcuts and hotkeys of the current window to the clipboard. Note that for shortcuts of the ribbon, you will have to repeat the process for each tab, because the controls of a tab are not displayed on the screen until it is activated. |
Shift+F1 | Set a temporary bookmark in the ObjectCursor. For example, if you want to explore the controls further, but want to return to the current position later, you can use this key combination to set a temporary bookmark. If you want to use Drag & Drop to move an object, press this key combination as well, so that the object is marked for a later Drag & Drop operation. |
Shift+F2 | Activates a previously created temporary bookmark. |
Ctrl+Shift+F2 | If you previously marked an object as a temporary bookmark, it is now dragged and dropped onto the current object. |
If you discover mistakes, have questions, want to make suggestions and ideas for improvement or want to express criticism, you are welcome to do so in German or English to the following e-mail address:
Please keep in mind, however, that this script collection was created by me as a private person and that I may only be able to reply to your e-mails to a limited extent.